-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Write multi-level datasets #102
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #102 +/- ##
=======================================
Coverage 99.93% 99.93%
=======================================
Files 30 30
Lines 1458 1458
=======================================
Hits 1457 1457
Misses 1 1 ☔ View full report in Codecov by Sentry. |
I am missing the possibility to :
another case, but currently not urgent:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works nicely! Thank you for the implementation!
I am missing two things in the documentation:
- To inform the user, that write levels is not as robust as zappend itself. There will be a corrupt levels if an interruption happens during the process
- Make the user aware of the need to remove bnds when leveling.
Do you think it is worth adding the above information? Not sure where the right place would be, maybe the changelog?
Yes! |
The function's docstring. |
Added experimental function
zappend.levels.write_levels()
that generates datasets using the multi-level dataset format as specified by xcube.It resembles the
store.write_data(cube, "<name>.levels", ...)
method provided by the xcube filesystem data stores ("file", "s3", "memory", etc.). The zappend version may be used for potentially very large datasets in terms of dimension sizes or for datasets with very large number of chunks. It is considerably slower than the xcube version (which basically usesxarray.to_zarr()
for each resolution level), but should run robustly with stable memory consumption. The function requiresxcube
package to be installed.Addresses #19.
Checklist (strike out non-applicable):
CHANGES.md
CHANGES.md
docs/*